/**
 * @Description:移动零
 *
 * 给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。
 * 请注意 ，必须在不复制数组的情况下原地对数组进行操作。
 * @Date:Create in 20:36  2022/5/26
 */
public class moveZeroes0283 {

    public static void main(String[] args) {
        int[] nums = new int[]{0,1,0,3,12};
        moveZeroes1(nums);
        for (int num : nums) {
            System.out.println(num);
        }
    }

    //双指针
    public static void moveZeroes1(int[] nums) {

        int left = 0,right = 0;
        while(right < nums.length){
            if(nums[right]!=0){
                int temp = nums[left];
                nums[left] = nums[right];
                nums[right] = temp;
                left++;
            }
            right++;
        }
    }
}
